﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework;
using Knights.Objeto;
using Knights.Pantalla;

namespace Knights
{
    class PantallaJuego : IPantalla
    {
        private Juego juego;
        
        private Mundo mundo;
        private Camara camara;
        private InterfazJuego interfaz;
        private MotorJuego motor;

        public PantallaJuego(Juego juego)
        {
            this.juego = juego;
            juego.IsMouseVisible = false;
        }

        public void Inicializar()
        {
            Personaje miPersonaje = new Personaje("MiCaballero");   //probar -> Menu creacion de personaje

            mundo = Mundo.CrearInstancia(miPersonaje, juego);
            camara = new Camara(new Vector3(0, 0, 5), miPersonaje, juego);
            interfaz = new InterfazJuego(miPersonaje.Caballero);
            motor = new MotorJuego(miPersonaje.Caballero, juego);
        }

        public void Actualizar()
        {
            mundo.Actualizar();
            camara.Actualizar();
            interfaz.Actualizar();
        }

        public void Dibujar()
        {
            Juego.Device.DepthStencilState = DepthStencilState.Default;  //solido, sin ver a traves
            mundo.Dibujar();
            interfaz.Dibujar(juego);
        }
    }
}
